package com.own.component.common.base.service;

import com.own.component.common.base.entity.BaseBo;
import com.own.component.common.base.entity.BaseMap;
import com.own.component.common.base.entity.BaseQuery;
import com.own.component.common.base.entity.po.BaseBean;
import com.own.component.common.base.entity.vo.BaseBeanVo;
import com.own.component.common.base.service.item.BaseAddService;
import com.own.component.common.base.service.item.BaseAdvanceService;
import com.own.component.common.base.service.item.BaseDeleteService;
import com.own.component.common.base.service.item.BaseExportService;
import com.own.component.common.base.service.item.BaseGetService;
import com.own.component.common.base.service.item.BaseImportService;
import com.own.component.common.base.service.item.BaseListService;
import com.own.component.common.base.service.item.BaseUpdateService;

/**
 * BaseService
 *
 * @author chenxueli
 * @version 1.0.0
 * @date 2022-06-15 03:14:15
 * @see BaseGetService 查询单个对象
 * @see BaseListService 查询列表数据
 * @see BaseAddService 添加
 * @see BaseUpdateService 修改
 * @see BaseDeleteService 删除
 * @see BaseImportService 导入
 * @see BaseExportService 导出
 * @see BaseAdvanceService 高级操作
 * @since 17
 */
public interface BaseService<
        PO extends BaseBean,
        BO extends BaseBo<PO>,
        VO extends BaseBeanVo<PO>,
        MAP extends BaseMap<PO>,
        QUERY extends BaseQuery
        > extends
        BaseGetService<PO, VO>,
        BaseListService<PO, VO, MAP, QUERY>,
        BaseAddService<PO, BO, VO>,
        BaseUpdateService<PO, BO, VO>,
        BaseDeleteService<PO>,
        BaseImportService<PO, BO>,
        BaseExportService<QUERY>,
        BaseAdvanceService<PO> {

}
